package com.sdy.healthcode.biz.service;

import com.sdy.common.model.BizException;
import com.sdy.healthcode.biz.dto.HealthClockInDTO;
import com.sdy.healthcode.biz.model.HealthClockIn;
import com.sdy.mvc.service.BaseService;

import java.util.Date;
import java.util.List;

/**
 * <p>
 *  服务类
 * </p>
 *
 * @author zzq
 * @since 2020-02-23
 */
public interface HealthClockInService extends BaseService<HealthClockIn> {
    /**
     * 每日健康打卡
     */
    void clockInLockable(HealthClockInDTO healthClockInDTO) throws BizException, InterruptedException;

    /**
     * 每日健康打卡
     */
    void clockIn(HealthClockInDTO healthClockInDTO) throws BizException;

    /**
     * 获取单条打卡数据
     */
    HealthClockInDTO getClockIn(Date date, Integer userId);

    /**
     * 打卡历史记录
     */
    List<Date> clockInHistory(Integer userId);

    /**
     * 获取n天打卡记录
     */
    List<HealthClockIn> listClockData(Integer userId, Integer days, Date evaluateDate);
}
